

from core.himesis import Himesis
import cPickle as pickle
from uuid import UUID

class HTwoStations(Himesis):
    def __init__(self):
        """
        Creates the himesis graph representing the AToM3 model HTwoStations.
        """
        # Flag this instance as compiled now
        self.is_compiled = True
        
        super(HTwoStations, self).__init__(name='HTwoStations', num_nodes=21, edges=[])
        
        # Add the edges
        self.add_edges([(0, 12), (12, 7), (0, 13), (13, 8), (1, 14), (14, 9), (2, 15), (15, 10), (2, 16), (16, 11), (3, 17), (17, 0), (4, 18), (18, 1), (5, 19), (19, 1), (6, 20), (20, 2)])
        # Set the graph attributes
        self["mm__"] = pickle.loads("""(lp1
S'SimpleDSLTransMM'
p2
a.""")
        self["name"] = """TwoStations"""
        self["GUID__"] = UUID('0a8674f7-0a86-4f6e-b335-f06bc33fd6a9')
        
        # Set the node attributes
        self.vs[0]["mm__"] = """Station_S"""
        self.vs[0]["name"] = """s1"""
        self.vs[0]["GUID__"] = UUID('42685541-b6c0-422e-8271-af61b06eee9e')
        self.vs[1]["mm__"] = """Station_S"""
        self.vs[1]["name"] = """s2"""
        self.vs[1]["GUID__"] = UUID('b597d80c-983f-43df-825e-8d22ab1807c4')
        self.vs[2]["mm__"] = """Station_S"""
        self.vs[2]["name"] = """s3"""
        self.vs[2]["GUID__"] = UUID('eb948005-09fb-4a52-8db7-6f8c74f44849')
        self.vs[3]["mm__"] = """Male_S"""
        self.vs[3]["name"] = """m1"""
        self.vs[3]["GUID__"] = UUID('301e79e5-3ad2-4987-9564-36d8a3b2dedd')
        self.vs[4]["mm__"] = """Male_S"""
        self.vs[4]["name"] = """m2"""
        self.vs[4]["GUID__"] = UUID('f0d9dd2e-16e1-454b-b2ac-d752ce709d04')
        self.vs[5]["mm__"] = """Male_S"""
        self.vs[5]["name"] = """m3"""
        self.vs[5]["GUID__"] = UUID('adef8b82-dc1c-403d-af6d-0bcf62e81b0b')
        self.vs[6]["mm__"] = """Male_S"""
        self.vs[6]["name"] = """m4"""
        self.vs[6]["GUID__"] = UUID('665195c6-cc3b-46b2-9df2-2a1e71b967c8')
        self.vs[7]["mm__"] = """Female_S"""
        self.vs[7]["name"] = """f1"""
        self.vs[7]["GUID__"] = UUID('d9fadfa4-058a-4978-8f46-12326e3e0078')
        self.vs[8]["mm__"] = """Female_S"""
        self.vs[8]["name"] = """f2"""
        self.vs[8]["GUID__"] = UUID('1f9d1e13-5823-4f52-b4cc-2a4a4d4803a7')
        self.vs[9]["mm__"] = """Female_S"""
        self.vs[9]["name"] = """f3"""
        self.vs[9]["GUID__"] = UUID('b277ad84-9418-4e87-b13d-17fab004299b')
        self.vs[10]["mm__"] = """Female_S"""
        self.vs[10]["name"] = """f4"""
        self.vs[10]["GUID__"] = UUID('df774d9b-c8f3-4519-8828-18ef4baabdd6')
        self.vs[11]["mm__"] = """Female_S"""
        self.vs[11]["name"] = """f5"""
        self.vs[11]["GUID__"] = UUID('17e09e64-b24d-4c19-a55e-007889b104f6')
        self.vs[12]["mm__"] = """directLink_S"""
        self.vs[12]["GUID__"] = UUID('37069640-432f-4885-a7ca-85dfe6ad8ecc')
        self.vs[13]["mm__"] = """directLink_S"""
        self.vs[13]["GUID__"] = UUID('fed5f8ae-693c-4f0e-8292-c007cd86b6df')
        self.vs[14]["mm__"] = """directLink_S"""
        self.vs[14]["GUID__"] = UUID('26c8f1ef-5d82-4ddd-a555-61b64540032a')
        self.vs[15]["mm__"] = """directLink_S"""
        self.vs[15]["GUID__"] = UUID('8415aad6-abf2-42f4-8487-8bf062172f40')
        self.vs[16]["mm__"] = """directLink_S"""
        self.vs[16]["GUID__"] = UUID('01121fab-c685-42aa-b1e2-809a975042d2')
        self.vs[17]["mm__"] = """directLink_S"""
        self.vs[17]["GUID__"] = UUID('a0ae7de0-cc2e-455f-96a1-430f9aba8e05')
        self.vs[18]["mm__"] = """directLink_S"""
        self.vs[18]["GUID__"] = UUID('d090e33d-95be-462b-b6b6-7f7d9d6850b8')
        self.vs[19]["mm__"] = """directLink_S"""
        self.vs[19]["GUID__"] = UUID('518cd4f0-beda-4135-b615-93463081e7e0')
        self.vs[20]["mm__"] = """directLink_S"""
        self.vs[20]["GUID__"] = UUID('48e5dddb-60ae-4af2-b5f0-aef84777a023')

